98f979a84d0aba7524b10eb0d2e9d7c657daa506,opennms-services/src/main/java/org/opennms/netmgt/capsd/RescanProcessor.java,RescanProcessor,updateNode,#Connection#Date#DbNodeEntry#InetAddress#DbIpInterfaceEntry[]#Map#,270

Before Change


             */
            IfCollector primaryIfc = collectorMap.get(currPrimarySnmpIf.getHostAddress());
            if (primaryIfc == null) {
                Collection<IfCollector> collectors = collectorMap.values();
                Iterator<IfCollector> iter = collectors.iterator();
                while (iter.hasNext()) {
                    primaryIfc = iter.next();
                    if (primaryIfc.getSnmpCollector() != null)
                        break;
                }
            }

            /*
             * Sanity check...should always have a primary interface
             * collector at this point
             */
            if (primaryIfc == null) {
                log().error("updateNode: failed to determine primary interface collector for node " + dbNodeEntry.getNodeId());
                throw new RuntimeException("Update node failed for node " + dbNodeEntry.getNodeId() + ", unable to determine primary interface collector.");
            }

            IfSnmpCollector snmpc = primaryIfc.getSnmpCollector();

            if (snmpc != null && snmpc.hasSystemGroup()) {
                SystemGroup sysgrp = snmpc.getSystemGroup();

                // sysObjectId
                currNodeEntry.setSystemOID(sysgrp.getSysObjectID());

                // sysName
                String str = sysgrp.getSysName();
                if (str != null && str.length() > 0)
                    currNodeEntry.setSystemName(str);

                // sysDescription
                str = sysgrp.getSysDescr();
                if (str != null && str.length() > 0)
                    currNodeEntry.setSystemDescription(str);

                // sysLocation
                str = sysgrp.getSysLocation();
                if (str != null && str.length() > 0)
                    currNodeEntry.setSystemLocation(str);

                // sysContact
                str = sysgrp.getSysContact();
                if (str != null && str.length() > 0)
                    currNodeEntry.setSystemContact(str);
            }
        }

After Change


             */
            IfCollector primaryIfc = collectorMap.get(currPrimarySnmpIf.getHostAddress());
            if (primaryIfc == null) {
                for (IfCollector tmp : collectorMap.values()) {
                    if (tmp.getSnmpCollector() != null) {
                        primaryIfc = tmp;
                        break;
                    }
                }
            }

            /*
             * Sanity check...should always have a primary interface
             * collector at this point
             */
            if (primaryIfc == null) {
                log().error("updateNode: failed to determine primary interface collector for node " + dbNodeEntry.getNodeId());
                throw new RuntimeException("Update node failed for node " + dbNodeEntry.getNodeId() + ", unable to determine primary interface collector.");
            }

            IfSnmpCollector snmpc = primaryIfc.getSnmpCollector();
            if (snmpc != null && snmpc.hasSystemGroup()) {
                SystemGroup sysgrp = snmpc.getSystemGroup();

                // sysObjectId
                currNodeEntry.setSystemOID(sysgrp.getSysObjectID());

                // sysName
                String sysName = sysgrp.getSysName();
                if (sysName != null && sysName.length() > 0) {
                    currNodeEntry.setSystemName(sysName);
                }

                // sysDescription
                String sysDescr = sysgrp.getSysDescr();
                if (sysDescr != null && sysDescr.length() > 0) {
                    currNodeEntry.setSystemDescription(sysDescr);
                }

                // sysLocation
                String sysLocation = sysgrp.getSysLocation();
                if (sysLocation != null && sysLocation.length() > 0) {
                    currNodeEntry.setSystemLocation(sysLocation);
                }

                // sysContact
                String sysContact = sysgrp.getSysContact();
                if (sysContact != null && sysContact.length() > 0) {
                    currNodeEntry.setSystemContact(sysContact);
                }
            }
        }